/**
 * 
 */
package at.ac.tuwien.ifs.calendit.basis.gui;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.sql.Date;
import java.sql.Time;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.table.AbstractTableModel;

import at.ac.tuwien.ifs.calendit.basis.helper.Constants;
import at.ac.tuwien.ifs.calendit.domain.Termin;

/**
 * @author investition
 *
 */
public class JWochenAnsichtTableModel extends AbstractTableModel{


	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static JTextField jt= new JTextField();
	/**
	 * 
	 */
	public static String[] __columns = {"Uhrzeit","Montag", "Dienstag","Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"};
	private TerminTableModel terminTM=new TerminTableModel();
	private static Termin[][] terminList= new Termin[36][7];
	
	public static JComponent[][] btn ={
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},
		{new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel(),new JLabel()},	
	};

	public static Object[][] __rows= {
			{"06:00-06:30",btn[0][0],btn[0][1],btn[0][2],btn[0][3],btn[0][4],btn[0][5],btn[0][6]},
			{"06:30-07:00",btn[1][0],btn[1][1],btn[1][2],btn[1][3],btn[1][4],btn[1][5],btn[1][6]},
			{"07:00-07:30",btn[2][0],btn[2][1],btn[2][2],btn[2][3],btn[2][4],btn[2][5],btn[2][6]},
			{"07:30-08:00",btn[3][0],btn[3][1],btn[3][2],btn[3][3],btn[3][4],btn[3][5],btn[3][6]},
			{"08:00-08:30",btn[4][0],btn[4][1],btn[4][2],btn[4][3],btn[4][4],btn[4][5],btn[4][6]},
            {"08:30-09:00",btn[5][0],btn[5][1],btn[5][2],btn[5][3],btn[5][4],btn[5][5],btn[5][6]},
            {"09:00-09:30", btn[6][0],btn[6][1],btn[6][2],btn[6][3],btn[6][4],btn[6][5],btn[6][6]},
            {"09:30-10:00",btn[7][0],btn[7][1],btn[7][2],btn[7][3],btn[7][4],btn[7][5],btn[7][6]},
            {"10:00-10:30",btn[8][0],btn[8][1],btn[8][2],btn[8][3],btn[8][4],btn[8][5],btn[8][6]},
            {"10:30-11:00",btn[9][0],btn[9][1],btn[9][2],btn[9][3],btn[9][4],btn[9][5],btn[9][6]},
            {"11:00-11:30",btn[10][0],btn[10][1],btn[10][2],btn[10][3],btn[10][4],btn[10][5],btn[10][6]},
            {"11:30-12:00",btn[11][0],btn[11][1],btn[11][2],btn[11][3],btn[11][4],btn[11][5],btn[11][6]},
            {"12:00-12:30",btn[12][0],btn[12][1],btn[12][2],btn[12][3],btn[12][4],btn[12][5],btn[12][6]},
            {"12:30-13:00",btn[13][0],btn[13][1],btn[13][2],btn[13][3],btn[13][4],btn[13][5],btn[13][6]},
            {"13:00-13:30",btn[14][0],btn[14][1],btn[14][2],btn[14][3],btn[14][4],btn[14][5],btn[14][6]},
            {"13:30-14:00",btn[15][0],btn[15][1],btn[15][2],btn[15][3],btn[15][4],btn[15][5],btn[15][6]},
            {"14:00-14:30",btn[16][0],btn[16][1],btn[16][2],btn[16][3],btn[16][4],btn[16][5],btn[16][6]},
            {"14:30-15:00",btn[17][0],btn[17][1],btn[17][2],btn[17][3],btn[17][4],btn[17][5],btn[17][6]},
            {"15:00-15:30",btn[18][0],btn[18][1],btn[18][2],btn[18][3],btn[18][4],btn[18][5],btn[18][6]},
            {"15:30-16:00",btn[19][0],btn[19][1],btn[19][2],btn[19][3],btn[19][4],btn[19][5],btn[19][6]},
            {"16:00-16:30",btn[20][0],btn[20][1],btn[20][2],btn[20][3],btn[20][4],btn[20][5],btn[20][6]},
            {"16:30-17:00",btn[21][0],btn[21][1],btn[21][2],btn[21][3],btn[21][4],btn[21][5],btn[21][6]},
            {"17:00-17:30",btn[22][0],btn[22][1],btn[22][2],btn[22][3],btn[22][4],btn[22][5],btn[22][6]},
            {"17:30-18:00",btn[23][0],btn[23][1],btn[23][2],btn[23][3],btn[23][4],btn[23][5],btn[23][6]},
            {"18:00-18:30",btn[24][0],btn[24][1],btn[24][2],btn[24][3],btn[24][4],btn[24][5],btn[24][6]},
            {"18:30-19:00",btn[25][0],btn[25][1],btn[25][2],btn[25][3],btn[25][4],btn[25][5],btn[25][6]},
            {"19:00-19:30",btn[26][0],btn[26][1],btn[26][2],btn[26][3],btn[26][4],btn[26][5],btn[26][6]},
            {"19:30-20:00",btn[27][0],btn[27][1],btn[27][2],btn[27][3],btn[27][4],btn[27][5],btn[27][6]},
            {"20:00-20:30",btn[28][0],btn[28][1],btn[28][2],btn[28][3],btn[28][4],btn[28][5],btn[28][6]},
            {"20:30-21:00",btn[29][0],btn[29][1],btn[29][2],btn[29][3],btn[29][4],btn[29][5],btn[29][6]},
            {"21:00-21:30",btn[30][0],btn[30][1],btn[30][2],btn[30][3],btn[30][4],btn[30][5],btn[30][6]},
            {"21:30-22:00",btn[31][0],btn[31][1],btn[31][2],btn[31][3],btn[31][4],btn[31][5],btn[31][6]},
            {"22:00-22:30",btn[32][0],btn[32][1],btn[32][2],btn[32][3],btn[32][4],btn[32][5],btn[32][6]},
            {"22:30-23:00",btn[33][0],btn[33][1],btn[33][2],btn[33][3],btn[33][4],btn[33][5],btn[33][6]},
            {"23:00-23:30",btn[34][0],btn[34][1],btn[34][2],btn[34][3],btn[34][4],btn[34][5],btn[34][6]},
            {"23:30-00:00",btn[35][0],btn[35][1],btn[35][2],btn[35][3],btn[35][4],btn[35][5],btn[35][6]}
		    };
	private static Date date= Constants.selectedDate;
	public static Date[] weekdates= new Date[7];
	
	private void initButtons(){
		clearRows();
		getWeekDates();
		Termin tempT= new Termin();
		terminList= new Termin[36][7];
		/**
		 * Get all events to according times
		 * 36: number of rows
		 */
		int times=6;
		int i=0;
		for(int s=0;s<7;s++){
			while(i<36){
				tempT=initTerminTM1(times,s);
				if(tempT==null){
						tempT=new Termin();
						tempT.setBeginnDatum(weekdates[s]);
						tempT.setEndDatum(weekdates[s]);
						tempT.setBeginnUhrzeit(new Time(times,00,00));
						tempT.setEndUhrzeit(new Time(times,30,00));
						terminList[i][s]=tempT;		
						
				}
				if(tempT.getBezeichnung()!=null){
					terminList[i][s]=tempT;
					if(Wochenansicht.privat_chb.isSelected()){
						if(Wochenansicht.arbeits_chb.isSelected()){//beide sind selektiert
							btn[i][s]=new JButton(tempT.getBezeichnung());
							btn[i][s].setToolTipText(tempT.getBeschreibung());
							if(tempT.getTermintyp()==1){
								if(tempT.getMeetingtermin())
									btn[i][s].setBackground(Color.yellow);
								else
									btn[i][s].setBackground(Color.red);
							}
							else
								btn[i][s].setBackground(Color.blue);
							terminList[i][s]=tempT;
							__rows[i][s+1]=btn[i][s];

						}
						else{//nur Privat ist selected
							if(tempT.getTermintyp()==2){
								btn[i][s]=new JButton(tempT.getBezeichnung());
								btn[i][s].setToolTipText(tempT.getBeschreibung());
								btn[i][s].setBackground(Color.blue);
								terminList[i][s]=tempT;
								__rows[i][s+1]=btn[i][s];
							}
							else{
								tempT=new Termin();
								tempT.setBeginnDatum(weekdates[s]);
								tempT.setEndDatum(weekdates[s]);
								tempT.setBeginnUhrzeit(new Time(times,00,00));
								tempT.setEndUhrzeit(new Time(times,30,00));
								terminList[i][s]=tempT;
							
								
								btn[i][s]=new JLabel();
								btn[i][s].setToolTipText("");
								__rows[i][s+1]=btn[i][s];
							}
						}
					}
					else
						if(Wochenansicht.arbeits_chb.isSelected()){//nur Arbeit ist selected
							if(tempT.getTermintyp()==1){
								btn[i][s]=new JButton(tempT.getBezeichnung());
								btn[i][s].setToolTipText(tempT.getBeschreibung());
								if(tempT.getMeetingtermin()){
								btn[i][s].setBackground(Color.yellow);
								}
								else
									btn[i][s].setBackground(Color.red);
								terminList[i][s]=tempT;
								__rows[i][s+1]=btn[i][s];
							}
							else{
								tempT=new Termin();
								tempT.setBeginnDatum(weekdates[s]);
								tempT.setEndDatum(weekdates[s]);
								tempT.setBeginnUhrzeit(new Time(times,00,00));
								tempT.setEndUhrzeit(new Time(times,30,00));
								terminList[i][s]=tempT;
							
								btn[i][s]=new JLabel();
								btn[i][s].setToolTipText("");
								__rows[i][s+1]=btn[i][s];
							}
						
					}
					else{//keines ist selected
						i=36; //Abbruchbedingung true setzen
					}
				}
				i++;
				tempT=initTerminTM2(times,s);
				if(tempT==null){
						tempT=new Termin();
						tempT.setBeginnDatum(weekdates[s]);
						tempT.setEndDatum(weekdates[s]);
						tempT.setBeginnUhrzeit(new Time(times,30,00));
						tempT.setEndUhrzeit(new Time(times+1,00,00));
						terminList[i][s]=tempT;
				}
				if(tempT.getBezeichnung()!=null){
					terminList[i][s]=tempT;
					if(Wochenansicht.privat_chb.isSelected()){
						if(Wochenansicht.arbeits_chb.isSelected()){//beides ist selektiert
							if(tempT.getTermintyp()==2 || tempT.getTermintyp()==1){
								btn[i][s]=new JButton(tempT.getBezeichnung());
								btn[i][s].setToolTipText(tempT.getBeschreibung());
								if(tempT.getTermintyp()==1){
									if(tempT.getMeetingtermin())
										btn[i][s].setBackground(Color.yellow);
									else
										btn[i][s].setBackground(Color.red);
								}
								else
									btn[i][s].setBackground(Color.blue);
									terminList[i][s]=tempT;

								__rows[i][s+1]=btn[i][s];
							}
						}
						else{//nur Privat ist selected
							if(tempT.getTermintyp()==2){
								btn[i][s]=new JButton(tempT.getBezeichnung());
								btn[i][s].setToolTipText(tempT.getBeschreibung());
								btn[i][s].setBackground(Color.blue);
								terminList[i][s]=tempT;
								__rows[i][s+1]=btn[i][s];
							}
							else{
								
								tempT=new Termin();
								tempT.setBeginnDatum(weekdates[s]);
								tempT.setEndDatum(weekdates[s]);
								tempT.setBeginnUhrzeit(new Time(times,30,00));
								tempT.setEndUhrzeit(new Time(times+1,00,00));
								terminList[i][s]=tempT;
							
								btn[i][s]=new JLabel();
								btn[i][s].setToolTipText("");
								__rows[i][s+1]=btn[i][s];
							}
						}
					}
					else
						if(Wochenansicht.arbeits_chb.isSelected()){//nur Arbeit ist selected
						if(tempT.getTermintyp()==1){
							btn[i][s]=new JButton(tempT.getBezeichnung());
							btn[i][s].setToolTipText(tempT.getBeschreibung());
							if(tempT.getMeetingtermin()){
							btn[i][s].setBackground(Color.yellow);
							}
							else
								btn[i][s].setBackground(Color.red);
							terminList[i][s]=tempT;
							__rows[i][s+1]=btn[i][s];
						}
						else{
							tempT=new Termin();
							tempT.setBeginnDatum(weekdates[s]);
							tempT.setEndDatum(weekdates[s]);
							tempT.setBeginnUhrzeit(new Time(times,30,00));
							tempT.setEndUhrzeit(new Time(times+1,00,00));
							terminList[i][s]=tempT;
						
							
							btn[i][s]=new JLabel();
							btn[i][s].setToolTipText("");
							__rows[i][s+1]=btn[i][s];
						}
						
					}
					else{//keines ist selected
						i=36; //Abbruchbedingung true setzen
						
					}
				}
					else{
						tempT=new Termin();
						tempT.setBeginnDatum(weekdates[s]);
						tempT.setEndDatum(weekdates[s]);
						tempT.setBeginnUhrzeit(new Time(times,30,00));
						tempT.setEndUhrzeit(new Time(times+1,00,00));
						terminList[i][s]=tempT;
					
						
						btn[i][s]=new JLabel();
						btn[i][s].setToolTipText("");
						__rows[i][s+1]=btn[i][s];
					}
			i++;
			times++;
		}
			i=0;
			times=6;
		}
		
	}
//			terminList[i][s] =tempT;
//			if(tempT!=null){
//				btn[i][s]=new JButton(tempT.getBezeichnung());
//				btn[i][s].setToolTipText(tempT.getBeschreibung());
//				
//				if(tempT.getTermintyp()==1)
//					btn[i][s].setBackground(Color.red);
//				else
//					btn[i][s].setBackground(Color.blue);
//				__rows[i][s+1]=btn[i][s];
//			}
//			else{
//				btn[i][s]=new JLabel();
//				btn[i][s].setToolTipText("");
//			}
//				
//			i++;
//			tempT=initTerminTM2(times,s);
//			terminList[i][s] =tempT;
//			if(tempT!=null){
//				btn[i][s]=new JButton(tempT.getBezeichnung());
//				btn[i][s].setToolTipText(tempT.getBeschreibung());
//				if(tempT.getTermintyp()==1)
//					btn[i][s].setBackground(Color.red);
//				else
//					btn[i][s].setBackground(Color.blue);
//				__rows[i][s+1]=btn[i][s];
//			}
//			else{
//				btn[i][s]=new JLabel();
//				btn[i][s].setToolTipText("");
//			}
//			times++;
//			i++;
		
	
	private void initGUI() {
		jt.addActionListener(new TextFieldListener());
		jt.getDocument().addDocumentListener(new DListener());
		GregorianCalendar now=new GregorianCalendar();
		DateFormat df=DateFormat.getDateInstance();
		
		List termine= terminTM.getTerminDao().getAll();
		Termin tempT= new Termin();
		
		
		initButtons();
	}
	public JWochenAnsichtTableModel() {
		initGUI();
	}
	
	public String getColumnName(int column) { 
	    return __columns[column];
	}

	public int getRowCount() {
	    return __rows.length;
	}

	  public int getColumnCount() {
	    return __columns.length;
	  }

	  public Object getValueAt(int row, int column) { 
	      return __rows[row][column];
	  }

	  public boolean isCellEditable(int row, int column) {
	    return false;
	  }

	  public Class<? extends Object> getColumnClass(int column) {
	    return getValueAt(0, column).getClass();
	  }
	  
	  public Termin initTerminTM1(int time, int index){
		Termin t= new Termin();
		Time sendingtime1= new Time(time,29,00);
		t.setBeginnDatum(weekdates[index]);
		t.setBeginnUhrzeit(sendingtime1);
		Time sendingtime= new Time(time,00,00);
		t.setEndUhrzeit(sendingtime);
		t.setMitarbeiterID(Constants.getUserId());
//		System.out.println("Select * from Termin where BeginnDatum="+  t.getBeginnDatum()+" and beginnuhrzeit &lt;="+ sendingtime1+
//				 "and enduhrzeit &gt;="+sendingtime+" and mitarbeiterid=?");
		return terminTM.getPropToTerminTime(t);
	  }
	  
	  public Termin initTerminTM2(int time, int index){
			Termin t= new Termin();
			Time sendingtime1= new Time(time,59,00);
			t.setBeginnDatum(weekdates[index]);
			t.setBeginnUhrzeit(sendingtime1);
			Time sendingtime= new Time(time,30,00);
			t.setEndUhrzeit(sendingtime);
			t.setMitarbeiterID(Constants.getUserId());
//			System.out.println("Select * from Termin where BeginnDatum="+ t.getBeginnDatum()+" and beginnuhrzeit &lt;="+ sendingtime1+
//					 "and enduhrzeit &gt;="+sendingtime+" and mitarbeiterid=?");
			return terminTM.getPropToTerminTime(t);
		  }
	  
	  private void calComponentResized(ComponentEvent evt) {
		  date=Constants.selectedDate;
		  initButtons();
		 
	  }
	  private class TextFieldListener implements ActionListener{

			public void actionPerformed(ActionEvent e) {
				  date=Constants.selectedDate;
				  initButtons();
				
			}
	    	
	    }
	  
	  private class DListener implements DocumentListener{


			public void changedUpdate(DocumentEvent arg0) {
				  date=Constants.selectedDate;
				  initButtons();
				
			}

			public void insertUpdate(DocumentEvent arg0) {
				  date=Constants.selectedDate;
				  initButtons();
				
			}

			public void removeUpdate(DocumentEvent arg0) {

				  date=Constants.selectedDate;
				  initButtons();
				
			}
	    	
	    }
	  public void clearRows(){
		 int i=0;
		 for(int s=0; s<7;s++){
		  while(i<36){
			  __rows[i][s+1]=new JLabel();
			  i++;
		  }
		  i=0;
		 }
	  }

	  public static void getWeekDates(){
		  int beginnfaktor;
//		   java.util.Date jDate = 
//		        new java.util.Date(date.getTime());
//		   DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMAN);
		  date = Constants.selectedDate;

		   String dateinfos[]= date.toString().split("-");
		   Calendar now=new GregorianCalendar(Integer.parseInt(dateinfos[0]),Integer.parseInt(dateinfos[1])-1,Integer.parseInt(dateinfos[2]));
		   
		   beginnfaktor=now.get(Calendar.DAY_OF_WEEK)-2;
		   beginnfaktor=beginnfaktor*-1;
		   
		   for(int i=0; i<7;i++){
			   if(i==0)
				   now.add(Calendar.DAY_OF_MONTH, beginnfaktor);
			   else
				   now.add(Calendar.DAY_OF_MONTH, 1);
			   // weekdates ist java.sql.Date
			   weekdates[i]=new Date(now.getTimeInMillis());
			   
			   
		   }
		   refreshColumn();
	  }
	  
	  public static void refreshColumn(){
		  __columns[1]="<html><b>"+weekdates[0].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"MO</html>";
		  __columns[2]="<html><b>"+weekdates[1].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"DI";
		  __columns[3]="<html><b>"+weekdates[2].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"MI";
		  __columns[4]="<html><b>"+weekdates[3].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"DO";
		  __columns[5]="<html><b>"+weekdates[4].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"FR";
		  __columns[6]="<html><b>"+weekdates[5].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"SA";
		  __columns[7]="<html><b>"+weekdates[6].getDate()+"</b>&nbsp;&nbsp;&nbsp;&nbsp;"+"SO";
	  }
	  public static Termin getTerminAt(int row,int column){
		  return terminList[row][column-1]; 
	  }
	/**
	* This method should return an instance of this class which does 
	* NOT initialize it's GUI elements. This method is ONLY required by
	* Jigloo if the superclass of this class is abstract or non-public. It 
	* is not needed in any other situation.
	 */
	public static Object getGUIBuilderInstance() {
		return new JWochenAnsichtTableModel(Boolean.FALSE);
	}
	
	/**
	 * This constructor is used by the getGUIBuilderInstance method to
	 * provide an instance of this class which has not had it's GUI elements
	 * initialized (ie, initGUI is not called in this constructor).
	 */
	public JWochenAnsichtTableModel(Boolean initGUI) {
		super();
	}

}
